const fs = require('fs');
const path = require('path');

const distPath = path.resolve(__dirname, 'dist');

// function deleteFolderRecursive (folderPath) {
//   if (!fs.existsSync(folderPath)) {
//     return;
//   }

//   const files = fs.readdirSync(folderPath);
//   files.forEach((file) => {
//     const fullPath = path.join(folderPath, file);
//     const stat = fs.lstatSync(fullPath);

//     if (stat.isDirectory()) {
//       deleteFolderRecursive(fullPath); // 递归删除子目录
//       fs.rmdirSync(fullPath); // 删除空子目录
//     } else {
//       fs.unlinkSync(fullPath); // 删除文件
//     }
//   });

//   // 注意：这里不应该删除 dist 文件夹本身，只清空它的内容。
//   // 如果你确实想删除 dist 文件夹，请在脚本外部处理，或者在这里添加一个条件判断。
// }
function deleteFolderRecursive (folderPath) {
  function deleteDirSync (dir) {
    if (fs.existsSync(dir)) {
      fs.readdirSync(dir).forEach(file => {
        const curPath = path.join(dir, file);
        if (fs.lstatSync(curPath).isDirectory()) {
          deleteDirSync(curPath); // 递归删除子目录
        } else {
          fs.unlinkSync(curPath); // 删除文件
        }
      });
      fs.rmdirSync(dir); // 删除空目录
      console.log(`已删除目录：${dir}`);
    }
  }

  deleteDirSync('./dist');
}
try {
  deleteFolderRecursive(distPath);
  console.log('dist 已清理！');
} catch (err) {
  console.error('报错了:', err);
}
